#ifndef Settings_h
#define Settings_h

#include <cstdio>

using namespace std;

namespace Settings{

    static const unsigned int DiskSize = 104857600;

    //these are adjustable:
    static const unsigned int BlockSize = 1024;
    static const unsigned int NumInodes = 100000; //total number of files and directories (including the root)
    static const unsigned int InodeNumDirPtrs = 5; //number of direct addresses stored in an inode
    static const unsigned int InodeNumIndir1Ptrs = 3; //number of singly-indirect addresses stored in an inode
    static const unsigned int InodeNumIndir2Ptrs = 2; //number of doubly-indirect addresses stored in an inode
    static const unsigned int MaxNameLength = 123; //excludes null character, this val + 5 must be a factor of block_size

    //calculated based on the adjustable parameters
    extern const unsigned int NumDataBlocks;

};

#endif
